package com.wyh.service.feemanagementservice;


import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.Page;
import com.wyh.domain.dto.feemanagementdto.*;
import com.wyh.domain.po.feemanagementpo.Billes;
import com.wyh.domain.po.feemanagementpo.Billdetailes;
import com.wyh.domain.po.feemanagementpo.InvoiceHeaderes;

import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

public interface BillsService extends IService<Billdetailes> {

    PageResultDTO pageQuery(BillPageQueryDTO billPageQueryDTO, String account);

    List<BillDetailDTO> getBillDeatilById(Integer id);

    PageResultTwoDTO pageTwoQuery(BillPageQueryDTO billPageQueryDTO,String account);

    PageResultTpDTO pageTpQuery(BillPageTpQueryDTO billPageTpQueryDTO,String account);

    List<InvoiceDTO> getBillDeatilByIds(Integer id);

    void returnBill(ReturnBillDTO returnBillDTO);

    List<BillDetailbDTO> getBillDeatilByIdb(Integer id);


    List<PdfDTO> gettemplatetxt(Integer[] ids);

    List<Billes> getBillsByResourceid(String resourceStringId);

    List<Billdetailes> getBillDeatilsByBillIds(Integer Billid);


    List<Billdetailes> getBillDeatilsByRecource(Integer resourceid);

    List<Billes> getBillsByResourceidPage(IPage page, String resourceStringId);

    String[] getEmails(Integer[] ids);

    int getSendMethod();

    String[] getPhones(Integer[] ids);


    void changeNotificationstatus(Integer[] ids);
    List<Billdetailes> getBillDeatilsByids(List<Integer> ids);


    InvoicingReDTO getInvoicerecords(InvoicingDTO invoicingDTO,String account);

    InvoiceHeaderes getHeaderes(Integer id);

    List<String> getPD(String account);

    void invoicing(InvoicingReDTO invoicingReDTO);

   // List<BillDTO> getAccount(Integer id);

    List<ExpenseDetails> getExpenseDetails(Integer id);


    String getNoticenumber(Integer id);

    Date getAccounttime(Integer id);

    String getRemarks();

    ReceiptDTO getReceipte(Integer id, String account);
}
